iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
Software Development

數位醫療與雲原生第一次的親密接觸系列 第 4

Day 4 [數位醫療] HAPI Server初體驗!

  • 分享至 

  • xImage
  •  

一、DB選擇

HAPI Server預設會使用H2 Database,H2是儲存在記憶體的關聯式資料庫(RDBC),一旦關機或是重新開啟後數據就會消失。若要長期儲存的話,目前HAPI Server官方有提供MS SQL Server、PostgreSQL、Oracle、Cockroach DB(Experimental)資料庫的支援,至於大家最常用的MySQL和MariaDB目前是Deprecated的狀態,不建議使用。

在這裡的範例我是選擇PostgreSQL,以docker-compose的方式部署測試環境。

二、版本

以下是測試環境的版本

版本 備註
FHIR版本 R4 目前最常用的版本,衛福部IG使用
HAPI FHIR Server版本 7.2.1
PostgreSQL 14

三、建置測試環境

以下是建置測試環境步驟 :

  1. 於開發環境安裝docker
  2. 於開發環境安裝docker-compose
  3. git拉取(git clone)hapi fhir jpaserver starter source code(code URL: https://github.com/hapifhir/hapi-fhir-jpaserver-starter.git)
  4. 於下載項目的根目錄編輯(vim或vi )docker-compose.yml,視情況修改參數。

docker-compose.yml

version: "3"
services:
  hapi-fhir-jpaserver-start:
  #hapi jpa server的image由執行同在下載項目的根目錄的Dockerfile build出來,所以會等滿久的QQ
    build: .
    container_name: hapi-fhir-jpaserver-start
    restart: on-failure
    environment:
    #這裡是使用PostgreSQL的寫法,如果是用SQL Server的話需要進行修改
      SPRING_DATASOURCE_URL: "jdbc:postgresql://hapi-fhir-postgres:5432/hapi"
      SPRING_DATASOURCE_USERNAME: "admin"
      SPRING_DATASOURCE_PASSWORD: "admin"
      SPRING_DATASOURCE_DRIVERCLASSNAME: "org.postgresql.Driver"
    #hapi jpa server占用的port
    ports:
      - "8080:8080"
  hapi-fhir-postgres:
    image: postgres:14-alpine
    container_name: hapi-fhir-postgres
    restart: always
    environment:
      POSTGRES_DB: "hapi"
      POSTGRES_USER: "admin"
      POSTGRES_PASSWORD: "admin"
    volumes:
      - hapi-fhir-postgres:/var/lib/postgresql/data
#持久化存儲的數據
volumes:
  hapi-fhir-postgres:

修改完docker-compose.yml後,在當前目錄執行docker-compose指令

docker-compose up

因為要build出 hapi jpa server的image,所以需要一段時間。

待到docker-compose啟起來後,輸入URL查看

http://localhost:8080/

這邊會出現HAPI Server的入口(Company Names那個圖片是可以改的,如果需要的話)
https://ithelp.ithome.com.tw/upload/images/20240912/20161987lciyn2ITog.png

輸入 http://127.0.0.1:8080/fhir/swagger-ui/ 可以進入swagger-ui的管理介面
https://ithelp.ithome.com.tw/upload/images/20240912/20161987UWxnvPW6Wv.png

https://ithelp.ithome.com.tw/upload/images/20240912/20161987VH1le5uz8W.png

可以選擇Resource種類,如選擇Observation便可以在swagger-ui介面下對控管Observation的API進行測試(CRUD)
https://ithelp.ithome.com.tw/upload/images/20240912/20161987zLIxLSkOu9.png

現在就可以在測試環境進行測試了,可以先從衛福部或FHIR官網上找需要進行測試的Resource範本,在測試環境進行CRUD的測試,觀察Response,後續會介紹HAPI FHIR Server的神奇URL規則!!!


上一篇
Day 3 [數位醫療] FHIR格式資料規範
下一篇
Day 5 [數位醫療]FHIR Sever API使用
系列文
數位醫療與雲原生第一次的親密接觸30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言